【PHP/演習問題】クラスの継承[2]

【PHP/演習問題】クラスの継承[2]

問題

次の実行結果になるプログラムを作成してください。
なお、下記条件を満たすものとします。

  • 下記表の3つのクラスを作成する
  • 実行結果になるように各クラスのインスタンスを使う
クラス 英記 継承元 フィールド メソッド
チケットクラス Ticket なし $price(料金) display_price()
→ $priceの値を出力
ライブチケット LiveTicket Ticket $place(場所) info()
→ 場所と料金を出力
※ 料金の出力はdisplay_price()を使う
ライブ配信チケット LiveStreamingTicket Ticket $url(URL) info()
→ URLと料金を出力
※ 料金の出力はdisplay_price()を使う
===== ライブチケットクラスのインスタンス =====
場所 : ライブハウス
料金 : 8000円
=====  ライブ配信クラスのインスタンス  =====
URL : https://it-hack.net/live-streaming
料金 : 3000円

解答例

<?php

class Ticket {
    
    public $price;
    
    public function display_price() {
        echo '料金 : '.$this->price."円\n";
    }
    
}

class LiveTicket extends Ticket {
    
    public $place;
    
    public function info() {
        echo '場所 : '.$this->place."\n";
        $this->display_price();
    }
    
}

class LiveStreamingTicket extends Ticket {
    
    public $url;
    
    public function info() {
        echo 'URL : '.$this->url."\n";
        $this->display_price();
    }
    
}

echo "===== ライブチケットクラスのインスタンス =====\n";
$live_ticket = new LiveTicket();
$live_ticket->price = 8000;
$live_ticket->place = 'ライブハウス';
$live_ticket->info();

echo "=====  ライブ配信クラスのインスタンス  =====\n";
$live_streaming_ticket = new LiveStreamingTicket();
$live_streaming_ticket->price = 3000;
$live_streaming_ticket->url = 'https://it-hack.net/live-streaming';
$live_streaming_ticket->info();

?>